
TechInfo
--------
Min Size: 0x48
Max Size: 0x50 [MemAlloc padding]
Size: 0x48
--------
Offset 	Description
------ 	-----------
0x0 	techID
0x4 	category (sheets "CATEGORY" attribute. see table below)
0x8 	techLevel
0xC 	plymouthCost
0x10 	edenCost
0x14 	maxScientists
0x18 	lab (basic = 1, standard = 2, advanced = 3)
0x1C 	playerHasTech (bit vector, bit set if player has tech)
0x20 	numUpgrades (number of "UNIT_PROP"s specified in the tech file)
0x24 	numRequiredTechs (number of "REQUIRES"s specified in the tech file)
0x28 	char *techName
0x2C 	char *description
0x30 	char *teaser
0x34 	char *improveDesc
0x38 	int *requiredTechNum (pointer to array of techNums that are required for this tech)
0x3C 	struct Upgrade * (pointer to struct containing upgrade info)
0x40 	int numDependentTech (number of techs that depend on this one) (below is a pointer to an int? list of this many elements)
0x44 	int *dependentTechNum (pointer to array of techNums of techs that depend on this one)
--------
0x48 	"00000000"	[Outside of struct, MemAlloc padding]
0x4C 	"00000000"



// "CATEGORY" values (for both items and upgrades to these items)
// 0 = Free technologies (and unavailable technologies)
// 1 = Basic labratory sciences
// 2 = Defenses (GP upgrade, walls, and efficiency engineering)
// 3 = Power
// 4 = Vehicles (which ones can be built, speed upgrades, armour upgrades)
// 5 = Food
// 6 = Metals gathering
// 7 = Weapons
// 8 = Space (spaceport, observatory, launch vehicle, skydock)
// 9 = Population (happiness)
// 10 = Disaster warning (and defense)
// 11 = Population (health, growth)
// 12 = Spaceship module
